package com.meituan.sdk.model.ddzh.yuding.lifereserveMerchantmodify;

import com.meituan.sdk.annotations.ApiMeta;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 商家改约
* This file was automatically generated.
*/
@ApiMeta(
    path = "/ddzh/yuding/lifereserve/merchantmodify",
    businessId = 58,
    apiVersion = "10005",
    apiName = "lifereserve_merchantmodify",
    needAuth = true
)
public class LifereserveMerchantmodifyRequest implements MeituanRequest<LifereserveMerchantmodifyResponse> {
    /**
    * <p data-diff-id="ct-diff-id-f0f04156-3b2f-4f74-b01e-710b14002700"><span style="color: rgb(31, 45, 61)">预约单号</span></p>
    */
    @NotNull(message = "reserveOrderId不能为空")
    @SerializedName("reserveOrderId")
    private Long reserveOrderId;
    /**
    * <p data-diff-id="ct-diff-id-d6b43170-f778-4208-bd01-1320fa426f3a"><span style="color: rgb(31, 45, 61)">预约人姓名</span></p>
    */
    @NotBlank(message = "reserveUserName不能为空")
    @SerializedName("reserveUserName")
    private String reserveUserName;
    /**
    * <p data-diff-id="ct-diff-id-94414462-d118-4e39-9d63-418bc6bed839"><span style="color: rgb(31, 45, 61)">预约人电话</span></p>
    */
    @NotBlank(message = "reservePhone不能为空")
    @SerializedName("reservePhone")
    private String reservePhone;
    /**
    * <p data-diff-id="ct-diff-id-29fc8961-141b-434e-b7cf-922d034da2c0"><span style="color: rgb(31, 45, 61)">预约地址</span></p>
    */
    @NotBlank(message = "reserveAddress不能为空")
    @SerializedName("reserveAddress")
    private String reserveAddress;
    /**
    * <p data-diff-id="ct-diff-id-d1d24b19-149e-41e9-a48a-85aa30182819"><span style="color: rgb(31, 45, 61)">预约起始时间（毫秒数）</span></p>
    */
    @NotNull(message = "bookStartTime不能为空")
    @SerializedName("bookStartTime")
    private Long bookStartTime;
    /**
    * <p data-diff-id="ct-diff-id-4edddc0c-7900-49da-bc79-01cc46acd5cf"><span style="color: rgb(31, 45, 61)">预约结束时间</span></p>
    */
    @NotNull(message = "bookEndTime不能为空")
    @SerializedName("bookEndTime")
    private Long bookEndTime;
    /**
    * <p data-diff-id="ct-diff-id-f4d0d0a0-7a95-474e-923c-d2663941f0d3"><span style="color: rgb(31, 45, 61)">送件姓名</span></p>
    */
    @SerializedName("deliveryUserName")
    private String deliveryUserName;
    /**
    * <p data-diff-id="ct-diff-id-4e8f7cf3-6e83-4194-863f-618ce417c83b"><span style="color: rgb(31, 45, 61)">送件地址</span></p>
    */
    @SerializedName("deliveryAddress")
    private String deliveryAddress;
    /**
    * <p data-diff-id="ct-diff-id-9696b992-69d2-4f29-ac36-ce0ba20459e6"><span style="color: rgb(31, 45, 61)">送件电话</span></p>
    */
    @SerializedName("deliveryPhone")
    private String deliveryPhone;

    public Long getReserveOrderId() {
        return reserveOrderId;
    }
    public void setReserveOrderId(Long reserveOrderId) {
        this.reserveOrderId = reserveOrderId;
    }
    public String getReserveUserName() {
        return reserveUserName;
    }
    public void setReserveUserName(String reserveUserName) {
        this.reserveUserName = reserveUserName;
    }
    public String getReservePhone() {
        return reservePhone;
    }
    public void setReservePhone(String reservePhone) {
        this.reservePhone = reservePhone;
    }
    public String getReserveAddress() {
        return reserveAddress;
    }
    public void setReserveAddress(String reserveAddress) {
        this.reserveAddress = reserveAddress;
    }
    public Long getBookStartTime() {
        return bookStartTime;
    }
    public void setBookStartTime(Long bookStartTime) {
        this.bookStartTime = bookStartTime;
    }
    public Long getBookEndTime() {
        return bookEndTime;
    }
    public void setBookEndTime(Long bookEndTime) {
        this.bookEndTime = bookEndTime;
    }
    public String getDeliveryUserName() {
        return deliveryUserName;
    }
    public void setDeliveryUserName(String deliveryUserName) {
        this.deliveryUserName = deliveryUserName;
    }
    public String getDeliveryAddress() {
        return deliveryAddress;
    }
    public void setDeliveryAddress(String deliveryAddress) {
        this.deliveryAddress = deliveryAddress;
    }
    public String getDeliveryPhone() {
        return deliveryPhone;
    }
    public void setDeliveryPhone(String deliveryPhone) {
        this.deliveryPhone = deliveryPhone;
    }


    @Override
    public MeituanResponse<LifereserveMerchantmodifyResponse> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<LifereserveMerchantmodifyResponse>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "LifereserveMerchantmodifyRequest{" + "reserveOrderId=" + reserveOrderId + "," + "reserveUserName=" + reserveUserName + "," + "reservePhone=" + reservePhone + "," + "reserveAddress=" + reserveAddress + "," + "bookStartTime=" + bookStartTime + "," + "bookEndTime=" + bookEndTime + "," + "deliveryUserName=" + deliveryUserName + "," + "deliveryAddress=" + deliveryAddress + "," + "deliveryPhone=" + deliveryPhone + "}";
    }
}
